/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package restaurante.cci;

import restaurante.cih.*;

/**
 *
 * @author Gabriel
 */
public class CtrlPrincipal {
    private static CtrlPrincipal instance;
    private static JanEventosFuncionario janEventosFuncionario;
    private static JanEventosProduto janEventosProduto;
    private static JanEventosMesa janEventosMesa;
    private static JanEventosClienteDomiciliar janEventosClienteDomiciliar;
    private static JanRelatorioCliente janRelatorioCliente; 
    private static JanRelatorioFuncionario janRelatorioFuncionario; 
    private static JanRelatorioProduto janRelatorioProduto; 

    private CtrlPrincipal() {
    }


    /**
     * Obtém uma instância da aplicação. Implementação do padrão Singleton.
     */
    public static CtrlPrincipal getInstance() {
        if (instance == null) {
            instance = new CtrlPrincipal();
            try {
                janEventosClienteDomiciliar = JanEventosClienteDomiciliar.getInstance();
                janEventosFuncionario = JanEventosFuncionario.getInstance();
                janEventosMesa = JanEventosMesa.getInstance();
                janEventosProduto = JanEventosProduto.getInstance();
                janRelatorioCliente = JanRelatorioCliente.getInstance();
                janRelatorioFuncionario = JanRelatorioFuncionario.getInstance();
                janRelatorioProduto = JanRelatorioProduto.getInstance();
            } catch (Exception ex) {
                System.err.println(ex);
            }
        }
        return instance;
    }

    /**
     * Abre a janela de eventos da mesa
     */
    public void abrirJanEventosMesa() {
        System.out.println("CtrlPrincipal - abrirJanEventosMesa()");
        janEventosMesa.setVisible(true);
    }

    /**
     * Abre a janela de eventos do funcionario
     */
    public void abrirJanEventosFuncionario() {
        System.out.println("CtrlPrincipal - abrirJanEventosFuncionario()");
        janEventosFuncionario.setVisible(true);
    }

    /**
     * Abre a janela de eventos do produto
     */
    public void abrirJanEventosProduto() {
        System.out.println("CtrlPrincipal -  abrirJanEventosProduto()");
        janEventosProduto.setVisible(true);
    }

    /**
     * Abre a janela de eventos do cliente domiciliar
     */
    public void abrirJanEventosCliente() {
        System.out.println("CtrlPrincipal -  abrirJanEventosCliente()");
        janEventosClienteDomiciliar.setVisible(true);
    }

    /**
     * Abre a janela de relatorio do funcionario
     */
    public void abrirJanRelatorioFuncionario() {
        System.out.println("CtrlPrincipal - abrirJanRelatorioFuncionario()");
        janRelatorioFuncionario.setVisible(true);
    }
    
    /**
     * Abre a janela de relatorio do cliente
     */
    public void abrirJanRelatorioCliente() {
        System.out.println("CtrlPrincipal - abrirJanRelatorioCliente() ");
        janRelatorioCliente.setVisible(true);
    }
    
    /**
     * Abre a janela relatorio do produto
     */
    public void abrirJanRelatorioProduto() {
        System.out.println("CtrlPrincipal -  abrirJanRelatorioProduto() ");
        janRelatorioProduto.setVisible(true);
    }
}
